/** 网络请求工具类 **/
import axios from 'axios'
import qs from 'qs'
// console.error(process)
const service = axios.create({
  baseURL: process.env.API_DOMAIN,
  timeout: 12000 // 超时时长
})

// 添加请求拦截器
service.interceptors.request.use(config => {
  // 为每个请求追加一个ticket
  if (!config.params) config.params = {}
  if (sessionStorage.getItem('openId')) config.params.openId = sessionStorage.getItem('openId')
  // 处理POST请求
  if (config.method === 'post') {
    config.data = qs.stringify(config.data)
    config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
  }
  return config
}, error => {
  Promise.reject(error)
})

// 添加响应拦截器
service.interceptors.response.use(
  response => {
    return response.data
  },
  error => {
    if (error.response) {
      switch (error.response.status) {
        case 401:
          sessionStorage.setItem('ticket', '')
          if (this.$router) this.$router.push('/')
      }
    }
    return Promise.reject(error)
  })
export default service
